home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / editor / par.zip / CHANGE.DOC < prev    next >
Text File  |  1997-06-27  |  27KB  |  520 lines

  1. ===============================================================================
  2. ==========================                         ============================
  3. ==========================     VERSION HISTORY     ============================
  4. ==========================                         ============================
  5. ===============================================================================
  6.  
  7.  
  8.      For easy reference, this history is presented in reverse order (most
  9.      recent version first).  Remember:  if you have previously registered
  10.      Parse-O-Matic, you can self-register any evaluation copies we create
  11.      for two years (six years for deluxe registration).  Thus, your small
  12.      investment in the  initial  registration  can provide you  with many
  13.      free updates.  Since we do not  automatically  ship new versions, we
  14.      invite you to visit our Web site (users.aol.com/psoftinfo) every few
  15.      months, to see what's new.
  16.  
  17.  
  18. +------------------------- WE ARE CUSTOMER-DRIVEN! ---------------------------+
  19. |                                                                             |
  20. |    Most of the enhancements to Parse-O-Matic are inspired by POM users.     |
  21. |    We charge a nominal fee for custom work, but we will usually provide     |
  22. |    a discount if the requirement seems to be beneficial to other users.     |
  23. |                                                                             |
  24. |    ******* PARSE-O-MATIC'S EVOLUTION IS GUIDED BY OUR CUSTOMERS *******     |
  25. |                                                                             |
  26. +-----------------------------------------------------------------------------+
  27.  
  28.  
  29. ------ ------------------------------------------------------------------------
  30.  VER.  WHAT'S NEW IN THIS VERSION
  31. ------ ------------------------------------------------------------------------
  32.  
  33. 3.91A  New Features
  34.          Job (POJ) files contain the parameters for a POM command
  35.            Job files allow you to prompt for the input and output file names
  36.              See "Parse-O-Matic Job (POJ) Files" in the manual
  37.            Job files are a handy way to run POM from Windows
  38.        New Command
  39.          FILESIZE var value
  40.            Returns size of file, or null if file does not exist
  41.            See "The FILESIZE Command" in the manual
  42.        Enhanced Commands
  43.          OFILE can now deduce an output file name, based on the input file name
  44.            See "The OFILE Command" in the manual
  45.          TRIM now has "multiple" option
  46.            TRIM $FLINE "M" " " removes multiple spaces, leaving only singles
  47.            See "The TRIM Command" in the manual
  48.        POM-File Encryption
  49.          New SCRAMBLE utility discourages users from tampering with a POM file
  50.            The POM file is rendered unreadable -- except to Parse-O-Matic
  51.            See "Encrypted (Scrambled) POM Files" in the manual
  52.        Other Enhancements
  53.          The code for trimming has been rewritten for faster performance
  54.            This improvement should be noticeable when converting large files
  55.          The SHOWNUM utility now converts characters as well as numbers
  56.            See "The SHOWNUM Utility" in the manual
  57.  
  58. ------ ------------------------------------------------------------------------
  59.  VER.  ENHANCEMENTS IN PREVIOUS VERSIONS
  60. ------ ------------------------------------------------------------------------
  61.  
  62. 3.90A  New Features
  63.          Deduced, array and eponymous variables
  64.            This is an extremely powerful feature of Parse-O-Matic
  65.            Supports 1, 2 and 3 dimensional arrays
  66.            Supports eponymous variables
  67.              You can name a variable after a piece of input data
  68.              You can not do this kind of thing in most standard languages
  69.          User-specified command-line parameters
  70.            /X /Y /Z set $CMDLINEX $CMDLINEY $CMDLINEZ
  71.          New SCANPOSN command compares a string against a list of items
  72.          New RANDOM command generates a random number
  73.        Enhancements
  74.          POM now runs in protected mode for improved performance
  75.            POM will no longer run on 8088 and 8086-class machines
  76.            A custom 8088/8086 copy of 3.90 can be made for you, if necessary
  77.          Improved capacity for variables and literals
  78.            Increased maximum number of variables and literals from 1000 to 2000
  79.              This can get used up quickly by arrays (each entry is a variable)
  80.          Optimized storage of literals
  81.            Identical literals only take up one variable/literal slot
  82.          Vastly improved file viewer (SEE.EXE)
  83.            No limits to file length; views lines up to 255 chars wide
  84.            Many helpful search commands; built-in help and customization
  85.            This version is to support POM -- not for distribution
  86.        Problems Fixed
  87.          Corrected unexpected page eject when using OFILE then PAGELEN
  88.            This only mattered if PAGELEN was set for the previous file
  89.          Corrected occasional spurious character "found" at end of SPLIT files
  90.  
  91.        ----------------
  92.        UPGRADE ADVISORY
  93.        ----------------
  94.  
  95.        Any variable names that contain parentheses "(" or ")" should be renamed
  96.        Any variable names that contain commas should be renamed
  97.          In general, use only A to Z, 1 to 9 and underscore in variable names
  98.  
  99.        Debugging notice
  100.          The OUT and OUTEND commands work slightly differently
  101.            They no longer report if they encounter a non-existent variable
  102.            If they can't find a variable, they simply put nothing at that spot
  103.              This is closer to the general theory of variables of POM
  104.              This also allows for simpler code with scattered array variables
  105.  
  106. 3.81C  Corrected leap-year interaction between DATE, MAKEDATA and MAKETEXT
  107.          This occured when converting both date serials and text dates
  108.  
  109. 3.81B  Corrected typographical error in the user manual
  110.  
  111. 3.81A  New commands
  112.          OVERLAY  lets you extend or overwrite portions of a variable
  113.          REWIND   lets you back up in a SPLIT or CHOPped file
  114.          ROUNDING controls rounding by CALCREAL (see Upgrade Advisory)
  115.          SHOWNOTE displays a short progress message on the processing screen
  116.        Enhancements
  117.          The GET command
  118.            GET can now be used in SPLIT files, not just CHOPped files
  119.            GET x "EOF" returns "Y" or "N" for End-of-File condition
  120.            LOOSE parameter (STRICT is default)
  121.              Permits processing to continue despite unexpected end-of-file
  122.          Manual reading (CHOP 0) now runs slightly faster
  123.        Problems fixed
  124.          ERASE did not work if the file name had a plus ("append") in front
  125.          Quiet Mode (/Q) is better behaved when POM is called by a DOS program
  126.            Minor changes sometimes appeared on the screen if it was not redrawn
  127.  
  128.        ----------------
  129.        UPGRADE ADVISORY
  130.        ----------------
  131.  
  132.        This notice concerns you if you use the CALCREAL command.
  133.  
  134.        Due to the way that real numbers (as opposed to integers) are
  135.        calculated in binary, CALCREAL would sometimes return unexpected
  136.        results.  For example:
  137.  
  138.        CALCREAL x = "400.00" "-" "390.60" "2"
  139.  
  140.        produces the answer "9.39" rather than the expected answer of "9.40".
  141.  
  142.        This is because, in real-mode binary calculations, the answer ends up as
  143.        9.3999999, which is very close indeed to the correct answer.  However,
  144.        when you specify "two digits of precision" (the "2" in the command), the
  145.        answer is simply truncated after two digits, yielding the answer "9.39".
  146.  
  147.        This issue is now resolved.  When appropriate, answers are rounded up,
  148.        if you have explicitly specified a fixed number of digits of precision.
  149.        Floating calculations are not rounded.
  150.  
  151.        This means that existing POM files may work slightly differently than
  152.        before.  To make your existing POM files continue to work the way they
  153.        used to (i.e. simply truncating answers when you specify the number of
  154.        digits of precision), place the following command at the beginning of
  155.        your POM file (typically in the PROLOGUE):
  156.  
  157.        ROUNDING "N"
  158.  
  159.        This will disable the rounding feature, which is, by default, enabled.
  160.  
  161.        See "The ROUNDING Command" (in the user manual) for full details.
  162.  
  163. 3.80A  New KEEP command performs a conditional page eject to keep text together
  164.        New CODE and CALL commands allow you to define subroutines
  165.        New predefined value $LINECOUNTER
  166.        Color control for menus (see Upgrade Advisory)
  167.        Changes to user manual
  168.          Reformatted for easier reference
  169.          Manual file has been renamed from POM.DOC to MANUAL.DOC
  170.        Please note that our phone numbers for credit card orders has changed
  171.          See the text file ORDER.FRM for the new numbers
  172.  
  173.        ----------------
  174.        UPGRADE ADVISORY
  175.        ----------------
  176.  
  177.        This notice concerns you if:
  178.  
  179.        - You use the old menu program MENU.EXE in your own batch files, or...
  180.        - You placed the old DEVELOP.BAT file in another directory, or..
  181.        - You are using a modified copy of the old DEVELOP.BAT
  182.  
  183.        The old menu program (MENU.EXE) has been replaced by a slightly improved
  184.        version, named PSMENU_D.EXE.  The name was changed to avoid confusion
  185.        with the numerous menu programs that are also called MENU.EXE.  (Some
  186.        users experienced problems when using the DEVELOP.BAT batch file because
  187.        they had more than one MENU.EXE on their system.)
  188.  
  189.        Please do not rename PSMENU_D.EXE to something else; we will be
  190.        upgrading our multi-platform support soon, and the menuing system will
  191.        expect the DOS menu program to have that name.
  192.  
  193.        PSMENU_D lets you control the color of the menus.  For details, print or
  194.        view the comments in the file POM.MNU.
  195.  
  196.        You may use PSMENU_D in your other applications.  Enter  PSMENU_D  at the
  197.        DOS prompt for an explanation of the distribution (legal) conditions.
  198.  
  199. 3.71A  Fixed: Some data might be lost if OUT generated exactly 254 characters
  200.        and then additional data was added with another OUT or OUTEND command
  201.  
  202. 3.70A  New commands
  203.          CVTCASE converts a variable to uppercase or lowercase
  204.          GETENV  obtains a system environment variable (e.g. PATH)
  205.          MSGWAIT controls the behaviour of error messages
  206.          REMAP   transforms sub-strings into other strings
  207.          MAPFILE reads a file containing data transformations for REMAP
  208.        Enhancements to PARSE, PEEL and FINDPOSN
  209.          Search strings (e.g. "2*,") are now known as decapsulators
  210.          Overlapping decapsulators now behave more gracefully
  211.            PARSE and PEEL return an empty string; FINDPOSN returns "0"
  212.              This situation used to generate an error message
  213.                i.e. "From" value exceeds "To" value
  214.                Most users found this unhelpful or confusing
  215.                For details, see "Overlapping Decapsulators" in the manual
  216.          New search parameter looks for "last occurence" or "first occurence"
  217.            Example of  "last occurence":  PARSE xyz $FLINE ">*$" ">*.00"
  218.            Example of "first occurence":  PARSE xyz $FLINE "<*$" "<*.00"
  219.        Documentation
  220.          Improved quick-reference section
  221.            The "importable" version has moved from EXAMPL04.POM to QUICKREF.POM
  222.  
  223.        ----------------
  224.        UPGRADE ADVISORY
  225.        ----------------
  226.  
  227.        This notice concerns you if:
  228.  
  229.        - You have created POM applications that are run unattended
  230.        - You use the HALT command
  231.  
  232.        (See "Unattended Operation" and "The HALT Command" in the manual)
  233.  
  234.        Since version 3.20, error messages would "time out" after sixty seconds
  235.        (or when a key was pressed), whereupon Parse-O-Matic would terminate.
  236.  
  237.        Parse-O-Matic now waits for permission to continue if an error occurs.
  238.        You can control this behaviour with the new MSGWAIT command (see "The
  239.        MSGWAIT Command" in the manual).
  240.  
  241.        To make Parse-O-Matic behave as it did before (i.e. timing out sixty
  242.        seconds), add this line to your POM file:  MSGWAIT "60"
  243.  
  244.        If you simply want to make your HALT commands work the same way (i.e.
  245.        allowing them to time out after about a minute), insert MSGWAIT "60"
  246.        prior to each HALT command.
  247.  
  248. 3.61A  Added inline decrement (e.g. SET y = x-)
  249.        LOG command now allows two additional (optional) values
  250.        Rationalized null specs and empty fields in Parse, Peel and FindPosn
  251.          Customers were using these in creative ways that we had not foreseen
  252.          We have taken these into account and fully documented the behaviour
  253.          See "The Null Decapsulator", "Left-Peeling" and "Insoluble Searches"
  254.        Minor improvements to the processing display
  255.  
  256. 3.60A  New commands
  257.          MAKEDATA converts text data to binary
  258.          MAKETEXT converts binary data to text
  259.          ZERODATE initializes the date for serialized date format
  260.          GET      reads variable-length records and delimiter-terminated data
  261.          GETTEXT  combines functions of GET and MAKETEXT commands
  262.          AGAIN    allows you to return to an earlier BEGIN comparison
  263.        Enhancements
  264.          CHOP now allows manually-controlled reading (via the GET command)
  265.          Read-only files are opened as such, avoiding sharing problems on LANs
  266.          Improved appearance of trace logs
  267.          Hexadecimal literals (e.g. $39$34 means "94")
  268.        Utilities
  269.          SHOWNUM.EXE: reference tool converts decimal to hex and vice-versa
  270.          DEVELOP.BAT: simple interactive development environment (IDE)
  271.        Documentation
  272.          New material added for the READNEXT and LOOKUP commands
  273.          Several new sections about techniques and operational planning
  274.          Additional material about running Parse-O-Matic under Windows
  275.        Improved file-handling
  276.          OFILE now adds the default extension, if necessary
  277.            In 3.50, OFILE "XYZ" would not automatically add the .TXT extension
  278.          The default extension routine is no longer "fooled" by ..\ or .\
  279.            Earlier, a file name like ..\XYZ would not get the default extension
  280.        Problems fixed
  281.          Fixed "FRAME-UUI" problem affecting Quiet mode
  282.          Fixed routine to search through DOS PATH for "missing" files
  283.  
  284. 3.50A  Corrected a bug in the LOOKCOLS command (affected Parse-O-Matic v3.4x)
  285.          It would set the "Key-End" value to the last number listed in LOOKCOLS
  286.          It would set the "Data-Start" and "Data-End" to defaults (12 and 255)
  287.        New commands
  288.          ERASE   deletes a file
  289.          OUTPAGE sends a page eject to the output file (or device)
  290.          PAUSE   delays the specified number of milliseconds
  291.          OFILE   switches between output files
  292.            You can overwrite a file or append (add to the end)
  293.              See "How Parse-O-Matic Opens an Output File" in the manual
  294.              The append feature is also available at the command-line level
  295.        Enhancements
  296.          Processing display now shows input and output in appropriate units
  297.            Input units  (Bytes or Records)
  298.            Output units (Bytes or Lines)
  299.          Additional information in "processing completed" line in POMLOG.TXT
  300.            It now specifies the amount of output (in bytes or lines)
  301.          Output can now be sent to a generic device (e.g. COMx or LPTx)
  302.            See "Sending Output to a Device" in the manual
  303.        Documentation
  304.          New "File Handling" section in the manual
  305.  
  306.        ----------------
  307.        UPGRADE ADVISORY
  308.        ----------------
  309.  
  310.        POM now creates the output file ONLY when it first receives output
  311.        See "How Parse-O-Matic Opens an Output File" in the manual for details
  312.        If the output file does not receive any output...
  313.          If it did not previously exist, it will not be created
  314.          If it already existed, it will contain the old data
  315.            To ensure old data is gone...
  316.              Delete the output file before running Parse-O-Matic, or ...
  317.              Use the ERASE command in the PROLOGUE
  318.  
  319. 3.41B  PEEL reports precise nature of certain impossible parsing situations
  320. 3.41A  Fixed trimming problem affecting PEEL when using "null" delimiter
  321.  
  322. 3.40   New commands
  323.          DATE and TODAY provide date formatting, in any language
  324.          MONTHNUM converts text month to numeric month, in any language
  325.          COPY copies a variable from one character position to another
  326.          DELETE removes selected characters positions from a variable
  327.          EXTRACT moves selected characters from one variable to another
  328.          FINDPOSN locates the position of a string in another
  329.        Enhancements
  330.          All control files (including POM) are searched for, if necessary
  331.            If a directory is explicitly specified, POM looks there only
  332.            Otherwise, POM searches logged dir, POM's dir, then the DOS PATH
  333.            This makes it easier to build a library of standard files
  334.          INSERT now allows "insert to left" and "insert to right"
  335.          Automatic numeric comparators
  336.            The old method used text comparisons, which required pre-padding
  337.            Comparisons automatically determine if number is real or integer
  338.          CALC and CALCREAL now explicitly report "divide by zero" attempts
  339.          User manual reformatted for easier reference
  340.            Explanations of commands are preceded by an improved overview
  341.        Problems fixed
  342.          There were no problems reported in the last release
  343.  
  344. 3.31A  Numeric command parameters are now more forgiving
  345.          Spaces, tabs and commas are removed
  346.  
  347. 3.30A  New commands
  348.          LOG command writes a message to the log file POMLOG.TXT
  349.          HALT command allows termination with a DOS errorlevel
  350.          CALC command performs integer arithmetic functions
  351.          CALCREAL command performs decimal arithmetic functions
  352.          EPILOGUE command defines code to be run before input is processed
  353.          PROLOGUE command defines code to be run after  input is processed
  354.        Enhancements
  355.          Optional MINLEN setting controls the READNEXT command
  356.          Tracing no longer shows code inside skipped BEGIN/ELSE/END blocks
  357.          Increased variable name length from 8 to 12
  358.          Increased number of DBF fields from 50 to 100
  359.          Increased maximum line length in look-up files from 80 to 255
  360.          Increased maximum number of POM lines from 500 to 750
  361.            This does not include comment lines
  362.          Lookup file (LOOKFILE) is now searched for in various directories
  363.            If a directory is explicitly specified, POM looks there only
  364.            Otherwise, POM searches logged dir, POM's dir, then the DOS PATH
  365.          Restructured tutorial for easier reference
  366.          New deluxe registration provides 6 years of new version registration
  367.            Three times the standard benefit, but only twice the price
  368.        Problems fixed
  369.          Clustered ACCEPTs inside "false" code blocks were sometimes executed
  370.          Some error reporting caused problems on extremely large POM files
  371.          Ran out of file handles if you had a large number of input files
  372.          Incomplete trimming of multiple character delimiters in PEEL
  373.  
  374. 3.21A  Custom version; not released to public
  375.  
  376. 3.20A  Parsing of multiple input files into one output file
  377.          DOS wildcards are now permitted in POM command for input file name
  378.            For example:  POM XYZ.POM *.TXT OUTPUT.TXT
  379.          New NEXTFILE command skips to next input file
  380.          New predefined variable $COMMAND, showing current POM command
  381.        New PEEL command
  382.          Works like PARSE, but removes parsed text from source variable
  383.        New SOUND command
  384.          Sets error-message sound or generates a sound
  385.        The DONE and READNEXT commands now have optional comparisons
  386.          For example:  DONE x = y
  387.        Restructured example files as an interactive tutorial
  388.        Enhancements for unattended operation
  389.          Log file (POMLOG.TXT) records processing, and any errors
  390.          Error and warning messages pause for a minute, then the program ends
  391.        Fixed problem with ELSE statements nested two deep
  392.  
  393. 3.11A  DBF file enhancements
  394.          Improved reporting of DbF fields when tracing
  395.          Corrected data alignment error that affected some DbF files
  396.  
  397. 3.10A  New ELSE command
  398.          Allows BEGIN/ELSE/END blocks
  399.        New READNEXT command
  400.          Reads next line from input file, maintaining current place in POM file
  401.        New SETLEN command
  402.          Sets a variable to the length of a value (e.g. "XYZ" is length "3")
  403.        New DONE command (useful only in BEGIN/ELSE/END blocks)
  404.          Jumps to the end of the POM file; equivalent to IGNORE "X" = "Y"
  405.        New ~ comparator ("does not contain")
  406.        PARSE returns a null value if given impossible parsing task
  407.          Example: PARSE x "FRED/MARY" "1*/" "2*/" (problem: no second slash)
  408.        Maximum number of variables and literals increased to 1000 (was 225)
  409.  
  410. 3.00A  New PARSE command
  411.          You can now parse free-form data (including comma-delimited files)
  412.        New APPEND command
  413.          Allows you to concatenate up to four values
  414.        Data in output buffer (via OUT) is now flushed at end of input file
  415.          You can now use POM to create binary and fixed-record-length files
  416.        Varied comparators (equals, not equals, less than, contains, etc.)
  417.          Affects the commands IF, IGNORE, ACCEPT, BEGIN, OUT[END]
  418.          For example:  IF x > y THEN z = "YES"
  419.  
  420.        -------------------------------------------
  421.        CHANGES REQUIRED IN YOUR EXISTING POM FILES
  422.        -------------------------------------------
  423.  
  424.        This notice involves a change in the behaviour of IGNORE and ACCEPT.
  425.  
  426.        With the addition of varied comparators, you may have to change some of
  427.        your old POM files.  The IGNORE and ACCEPT commands were considered
  428.        "true if the string contains the specified text".  In other words, they
  429.        performed a "contains" comparison rather than an "equals" comparison.
  430.        (IF, BEGIN and OUT[END] used an "equals" comparison.)  IGNORE and ACCEPT
  431.        now default to an "equals" comparison.
  432.  
  433.        There are two situations in which you must modify an IGNORE or ACCEPT:
  434.  
  435.        (1)  If you padded the line with "=" (for clarity or aesthetics), yet
  436.             you meant "contains", the line should be changed.  For example:
  437.  
  438.             IGNORE $FLINE[1 10] = "YES"    (old style, using "=" for clarity)
  439.             IGNORE $FLINE[1 10] ^ "YES"    (new style, using "contains" symbol)
  440.  
  441.        (2)  If you omitted the "=" character, and you want to do a "contains"
  442.             comparison, you must insert the "contains" symbol:
  443.  
  444.             IGNORE $FLINE[1 10] "YES"      (old style, stated tersely)
  445.             IGNORE $FLINE[1 10] ^ "YES"    (new style, using "contains" symbol)
  446.  
  447.        If you are comparing two strings of equal length, there is no need to
  448.        modify an IGNORE or ACCEPT.  For example:  IGNORE $FLINE[1 3] "YES"
  449.        will continue to work properly, since either a "contains" or "equals"
  450.        comparison will produce the same result.
  451.  
  452. 2.71B  Fixed SPLIT bug
  453.          POM quit early if file length was an exact multiple of 32767
  454.  
  455. 2.71A  Added PROPER command
  456.        Updated manual to explain licensing options
  457.  
  458. 2.70C  Minor fix to unregistered (trial copy) reminder
  459.  
  460. 2.70A  POM can now read DBF (DBase) files directly
  461.        New ASCII literals (using the # character)
  462.        New TRACE, OUTHDG and PAGELEN commands
  463.        Documented the /Q command-line switch
  464.        User manual expanded to 30 pages; new examples (walk-throughs) provided
  465.  
  466. 2.60   New BEGIN and END commands (blocked "IF" operations)
  467.          Command lines may now be indented for clarity
  468.        New predefined variable $SPLIT
  469.          This indicates which CHOP or SPLIT segment you are on (1, 2, 3 etc.)
  470.        New look-up processing
  471.          New LOOKUP, LOOKSPEC, LOOKCOLS, LOOKFILE commands
  472.          New /L start-up option
  473.        Improved error detection and reporting
  474.        Comparison operation is now optional for OUT and OUTEND
  475.  
  476. 2.52   Added new symbol $TAB; fixed operation of $BRR and $BRL
  477.        New provisions for international registration
  478.  
  479. 2.51   Fixed Program Error MV-P-2 caused by padding with tabs instead of spaces
  480.  
  481. 2.50   CHOP command breaks up fixed-length (non-text) files
  482.        User manual restructured and partially rewritten
  483.  
  484. 2.40   SPLIT command breaks up long (over 255 characters) input lines
  485.  
  486. 2.33   New /Q (quiet) function:  type POM /? for explanation
  487.        Fixed bug: long output lines (>255) occasionally would lose some text
  488.  
  489. 2.32   Fix to CHANGE to correct lock-up when matching single-character string
  490.        Added registration via credit card
  491.        Added new version of SEE to allow full browsing of wide documents
  492.        While tracing, processing display now shows precise line number
  493.  
  494. 2.31   MINLEN now supports zero-length lines
  495.          Default MINLEN is, however, still "1"
  496.  
  497. 2.30   Output (via OUT and OUTEND) can now be more than 255 characters
  498.          However, no individual OUT or OUTEND can output a line longer than 255
  499.        New commands:  PAD, INSERT
  500.        Ease-of-use changes
  501.          More informative processing display
  502.          Variable names are no longer case sensitive
  503.          Improved error checking
  504.          Added another example to documentation
  505.  
  506. 2.20   Provided 2-year self-registration for registered users
  507.        Increased number of variables and literals from 100 to 225
  508.        Allowed "=", "THEN" and "ELSE" to improve readability
  509.        New commands:  SET, ACCEPT
  510.        Now possible to trace variables by name (SET POM=var/var/var...)
  511.          SET POM=T (older versions) is now specified as SET POM=ALL
  512.        Improved documentation (more examples)
  513.  
  514. 2.10   First public release
  515.  
  516. 2.00   Custom version; not released to public
  517.  
  518. 1.00   Custom version; not released to public
  519.  
  520.